8,050 research outputs found

    Applying the proto-theory of design to explain and modify the parameter analysis method of conceptual design

    Get PDF
    This article reports on the outcomes of applying the notions provided by the reconstructed proto-theory of design, based on Aristotle’s remarks, to the parameter analysis (PA) method of conceptual design. Two research questions are addressed: (1) What further clarification and explanation to the approach of PA is provided by the proto-theory? (2) Which conclusions can be drawn from the study of an empirically derived design approach through the proto-theory regarding usefulness, validity and range of that theory? An overview of PA and an application example illustrate its present model and unique characteristics. Then, seven features of the proto-theory are explained and demonstrated through geometrical problem solving and analogies are drawn between these features and the corresponding ideas in modern design thinking. Historical and current uses of the terms analysis and synthesis in design are also outlined and contrasted, showing that caution should be exercised when applying them. Consequences regarding the design moves, process and strategy of PA allow proposing modifications to its model, while demonstrating how the ancient method of analysis can contribute to better understanding of contemporary design-theoretic issues

    Learning to communicate computationally with Flip: a bi-modal programming language for game creation

    Get PDF
    Teaching basic computational concepts and skills to school children is currently a curricular focus in many countries. Running parallel to this trend are advances in programming environments and teaching methods which aim to make computer science more accessible, and more motivating. In this paper, we describe the design and evaluation of Flip, a programming language that aims to help 11–15 year olds develop computational skills through creating their own 3D role-playing games. Flip has two main components: 1) a visual language (based on an interlocking blocks design common to many current visual languages), and 2) a dynamically updating natural language version of the script under creation. This programming-language/natural-language pairing is a unique feature of Flip, designed to allow learners to draw upon their familiarity with natural language to “decode the code”. Flip aims to support young people in developing an understanding of computational concepts as well as the skills to use and communicate these concepts effectively. This paper investigates the extent to which Flip can be used by young people to create working scripts, and examines improvements in their expression of computational rules and concepts after using the tool. We provide an overview of the design and implementation of Flip before describing an evaluation study carried out with 12–13 year olds in a naturalistic setting. Over the course of 8 weeks, the majority of students were able to use Flip to write small programs to bring about interactive behaviours in the games they created. Furthermore, there was a significant improvement in their computational communication after using Flip (as measured by a pre/post-test). An additional finding was that girls wrote more, and more complex, scripts than did boys, and there was a trend for girls to show greater learning gains relative to the boys

    How can the teaching of programming be used to enhance computational thinking skills?

    No full text
    The use of the term computational thinking, introduced in 2006 by Jeanette Wing, is having repercussions in the field of education. The term brings into sharp focus the concept of thinking about problems in a way that can lead to solutions that may be implemented in a computing device. Implementation of these solutions may involve the use of programming languages.This study explores ways in which programming can be employed as a tool to teach computational thinking and problem solving. Data is collected from teachers, academics, and professionals, purposively selected because of their knowledge of the topics of problem solving, computational thinking, or the teaching of programming. This data is analysed following a grounded theory approach. A Computational Thinking Taxonomy is developed. The relationships between cognitive processes, the pedagogy of programming, and the perceived levels of difficulty of computational thinking skills are illustrated by a model.Specifically, a definition for computational thinking is presented. The skills identified are mapped to Bloom’s Taxonomy: Cognitive Domain. This mapping concentrates computational skills at the application, analysis, synthesis, and evaluation levels. Analysis of the data indicates that the less difficult computational thinking skills for beginner programmers are generalisation, evaluation, and algorithm design. Abstraction of functionality is less difficult than abstraction of data, but both are perceived as difficult. The most difficult computational thinking skill is reported as decomposition. This ordering of difficulty for learners is a reversal of the cognitive complexity predicted by Bloom’s model. The plausibility of this inconsistency is explored.The taxonomy, model, and the other results of this study may be used by educators to focus learning onto the computational thinking skills acquired by the learners, while using programming as a tool. They may also be employed in the design of curriculum subjects, such as ICT, computing, or computer science

    The Design and Evaluation of an Educational Software Development Process for First Year Computing Undergraduates

    Get PDF
    First year, undergraduate computing students experience a series of well-known challenges when learning how to design and develop software solutions. These challenges, which include a failure to engage effectively with planning solutions prior to implementation ultimately impact upon the students’ competency and their retention beyond the first year of their studies. In the software industry, software development processes systematically guide the development of software solutions through iterations of analysis, design, implementation and testing. Industry-standard processes are, however, unsuitable for novice programmers as they require prior programming knowledge. This study investigates how a researcher-designed educational software development process could be created for novice undergraduate learners, and the impact of this process on their competence in learning how to develop software solutions. Based on an Action Research methodology that ran over three cycles, this research demonstrates how an educational software development methodology (termed FRESH) and its operationalised process (termed CADET which is a concrete implementation of the FRESH methodology), was designed and implemented as an educational tool for enhancing student engagement and competency in software development. Through CADET, students were reframed as software developers who understand the value in planning and developing software solutions, and not as programmers who prematurely try to implement solutions. While there remain opportunities to further enhance the technical sophistication of the process as it is implemented in practice, CADET enabled the software development steps of analysis and design to be explicit elements of developing software solutions, rather than their more typically implicit inclusion in introductory CS courses. The research contributes to the field of computing education by exploring the possibilities of – and by concretely generating – an appropriate scaffolded methodology and process; by illustrating the use of computational thinking and threshold concepts in software development; and by providing a novel evaluation framework (termed AKM-SOLO) to aid in the continuous improvement of educational processes and courses by measuring student learning experiences and competencies

    Computing as the 4th “R”: a general education approach to computing education

    Get PDF
    Computing and computation are increasingly pervading our lives, careers, and societies - a change driving interest in computing education at the secondary level. But what should define a "general education" computing course at this level? That is, what would you want every person to know, assuming they never take another computing course? We identify possible outcomes for such a course through the experience of designing and implementing a general education university course utilizing best-practice pedagogies. Though we nominally taught programming, the design of the course led students to report gaining core, transferable skills and the confidence to employ them in their future. We discuss how various aspects of the course likely contributed to these gains. Finally, we encourage the community to embrace the challenge of teaching general education computing in contrast to and in conjunction with existing curricula designed primarily to interest students in the field

    Relationships: computational thinking, pedagogy of programming, and Bloom’s Taxonomy

    No full text
    This study explores the relationship between computational thinking, teaching programming, and Bloom’s Taxonomy. Data is collected from teachers, academics, and professionals, purposively selected because of their knowledge of the topics of problem solving, computational thinking, or the teaching of programming. This data is analysed following a grounded theory approach. A computational thinking taxonomy is developed. The relationships between cognitive processes, the pedagogy of programming, and the perceived levels of difficulty of computational thinking skills are illustrated by a model. Specifically, a definition for computational thinking is presented. The skills identified are mapped to Bloom’s Taxonomy: Cognitive Domain. This mapping concentrates computational skills at the application, analysis, synthesis, and evaluation levels. Analysis of the data indicates that abstraction of functionality is less difficult than abstraction of data, but both are perceived as difficult. The most difficult computational thinking skill is reported as decomposition. This ordering of difficulty for learners is a reversal of the cognitive complexity predicted by Bloom’s model. The plausibility of this inconsistency is explored. The taxonomy, model, and the other results of this study may be used by educators to focus learning onto the computational thinking skills acquired by the learners, while using programming as a tool. They may also be employed in the design of curriculum subjects, such as ICT, computing, or computer science. <br/

    DRAFT-What you always wanted to know but could not find about block-based environments

    Get PDF
    Block-based environments are visual programming environments, which are becoming more and more popular because of their ease of use. The ease of use comes thanks to their intuitive graphical representation and structural metaphors (jigsaw-like puzzles) to display valid combinations of language constructs to the users. Part of the current popularity of block-based environments is thanks to Scratch. As a result they are often associated with tools for children or young learners. However, it is unclear how these types of programming environments are developed and used in general. So we conducted a systematic literature review on block-based environments by studying 152 papers published between 2014 and 2020, and a non-systematic tool review of 32 block-based environments. In particular, we provide a helpful inventory of block-based editors for end-users on different topics and domains. Likewise, we focused on identifying the main components of block-based environments, how they are engineered, and how they are used. This survey should be equally helpful for language engineering researchers and language engineers alike

    Evolution of Computational Thinking Contextualized in a Teacher-Student Collaborative Learning Environment.

    Get PDF
    The discussion of Computational Thinking as a pedagogical concept is now essential as it has found itself integrated into the core science disciplines with its inclusion in all of the Next Generation Science Standards (NGSS, 2018). The need for a practical and functional definition for teacher practitioners is a driving point for many recent research endeavors. Across the United States school systems are currently seeking new methods for expanding their students’ ability to analytically think and to employee real-world problem-solving strategies (Hopson, Simms, and Knezek, 2001). The need for STEM trained individuals crosses both the vocational certified and college degreed career spectrums. This embedded multiple case study employed mixed methods data to gain insights into the pedagogical practices, curriculum, and teacher-student interactions that occurred in three teacher’s lives. The study’s teachers were all using LSU’s Introduction to Computational Thinking (ICT) curriculum and the accompanying professional development program. The cases studied demonstrated that it was possible to train a teacher with no experience in computing to be a functional novice teacher. The three teachers demonstrated a pathway of professional growth that I classify as apprehension of the novelty, transitional growth with the content, and reinforced confidence from student interactions. The teachers were challenged by embracing new project/problem based pedagogical techniques and working in a virtual environment. Teacher success was reinforced through their ability to embrace reflective thinking practices with their students. The role of contextualization was examined as a critical factor in teacher professional evolution. The results have implications for future computing curriculum development and meaningful/ successful teacher training practices

    Informatinio mąstymo ugdymo konstrukcionistinėje aplinkoje projektavimo moksliniai tyrimai: pragmatistinė perspektyva

    Get PDF
    [full article, abstract in English; abstract in Lithuanian] The article examines the modern computer-based educational environment and the requirements of the possible cognitive interface that enables the learner’s cognitive grounding by incorporating abductive reasoning into the educational process. Although the main emphasis is on cognitive and physiological aspects, the practical tools for enabling computational thinking in a modern constructionist educational environment are discussed. The presented analytical material and developed solutions are aimed at education with computers. However, the proposed solutions can be generalized in order to create a computer-free educational environment. The generalized paradigm here is pragmatism, considered as a philosophical assumption. By designing and creating a pragmatist educational environment, a common way of organizing computational thinking that enables constructionist educational solutions can be found.[straipsnis ir santrauka anglų kalba, santrauka lietuvių kalba] Straipsnyje nagrinėjama šiuolaikinė kompiuterinėmis technologijomis grįsta edukacinė aplinka. Aptariami kognityvinės sąsajos, skirtos besimokančiojo įgyjamoms žinioms sieti su realaus pasaulio objektais ar reiškiniais, reikalavimai. Šį susiejimą siūloma realizuoti į ugdymo procesą įtraukiant abdukcinius samprotavimus. Straipsnyje aptariamos praktinės priemonės informatiniam mąstymui ugdyti šiuolaikinėje konstrukcionistinėje aplinkoje, akcentuojant kognityvinius ir fiziologinius aspektus ir jungiant kelių paradigmų teorijas. Pateikta analitinė medžiaga ir siūlomi sprendimai skirti kompiuterinei ugdymo aplinkai, tačiau gali būti apibendrinti ir bendrajai ugdymo aplinkai be technologijų. Filosofine prielaida čia laikoma generalizuota pragmatizmo paradigma. Projektuojant ir kuriant pragmatistinę ugdymo aplinką, randamas informatinio mąstymo ugdymo naudojant konstrukcionistinius edukacinius sprendimus būdas

    Introductory programming: a systematic literature review

    Get PDF
    As computing becomes a mainstream discipline embedded in the school curriculum and acts as an enabler for an increasing range of academic disciplines in higher education, the literature on introductory programming is growing. Although there have been several reviews that focus on specific aspects of introductory programming, there has been no broad overview of the literature exploring recent trends across the breadth of introductory programming. This paper is the report of an ITiCSE working group that conducted a systematic review in order to gain an overview of the introductory programming literature. Partitioning the literature into papers addressing the student, teaching, the curriculum, and assessment, we explore trends, highlight advances in knowledge over the past 15 years, and indicate possible directions for future research
    corecore